package com.GraduationDesign.backend.bl.project;

import com.GraduationDesign.backend.po.GithubFile;
import com.GraduationDesign.backend.po.PrResponse;
import com.GraduationDesign.backend.po.Project;
import com.GraduationDesign.backend.po.PullRequest;
import com.GraduationDesign.backend.vo.ResponseVO;
import com.GraduationDesign.backend.vo.ProjectVO;

import java.util.List;

/**
 * @author: wzx
 * @date: 2022/3/20
 */
public interface ProjectService {
    /**
     * 增加项目
     * @param projectVO 项目
     * @return 响应
     */
    ResponseVO addProject(ProjectVO projectVO);

    /**
     * 删除项目
     * @param projectId 删除项目id
     * @return 响应
     */
    ResponseVO deleteProject(int projectId);


    /**获取项目列表
     * @param userId 用户id
     * @return 项目列表（reviewer返回所有，coder返回一个）
     */
    List<Project> getProjects(int userId);

    /**获取pr列表
     * @param programId id
     * @return pr列表
     */
    public List<PullRequest> getPrList(Integer programId);
    /**
     * 连接算法后端
     * @param url 项目git地址
     * @return 相关数据
     */
    PrResponse getPort(String url);
    /**
     * 返回文件树
     * @param path 文件夹路径
     * @return 文件树
     */
    GithubFile FileTree(String path);

    /**
     * 返回文件内容
     * @param path 文件路径
     * @return 文件内容
     */
    String getFile(String path);


}
